#pragma once

#include "Renderable2D.h"
#include "Drawable.h"

namespace Graphics
{
	class BltInfo;

	class Sprite:public Renderable2D
	{
	private:
		BltInfo* m_pInfo;
		float m_ZoomX;
		float m_ZoomY;

		// Image resource
		Drawable* m_pImage;

	public:
		Sprite(void);
		virtual ~Sprite(void) = 0;

		// Get/Set zoom value
		const float& GetZoomX(void) const;
		const float& GetZoomY(void) const;

		virtual void SetZoomX(float zx);
		virtual void SetZoomY(float zy);
		void SetZoom(float z);
		
		// Get/Set the image of sprite
		Drawable* const GetImage(void) const;

		virtual void SetImage(Drawable* pImage);

		BltInfo& GetInfo(void);

	};
}